Move documentation from templates to inline comments: GtkWidget
authorJavier Jardón <jjardon@gnome.org>
Sat, 28 Nov 2009 01:59:06 +0000 (02:59 +0100)
committerJavier Jardón <jjardon@gnome.org>
Sat, 28 Nov 2009 01:59:06 +0000 (02:59 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=597865

docs/reference/gtk/tmpl/gtkwidget.sgml [deleted file]
gtk/gtkwidget.c
gtk/gtkwidget.h

diff --git a/docs/reference/gtk/tmpl/gtkwidget.sgml b/docs/reference/gtk/tmpl/gtkwidget.sgml
deleted file mode 100644 (file)
index c127bfc..0000000
+++ /dev/null
@@ -1,2867 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-GtkWidget
-
-<!-- ##### SECTION Short_Description ##### -->
-Base class for all widgets
-
-<!-- ##### SECTION Long_Description ##### -->
-<para id="style-properties">
-<structname>GtkWidget</structname> introduces <firstterm>style 
-properties</firstterm> - these are basically object properties that are stored
-not on the object, but in the style object associated to the widget. Style
-properties are set in <link linkend="gtk-Resource-Files">resource files</link>.
-This mechanism is used for configuring such things as the location of the
-scrollbar arrows through the theme, giving theme authors more control over the
-look of applications without the need to write a theme engine in C.
-</para>
-<para>
-Use gtk_widget_class_install_style_property() to install style properties for 
-a widget class, gtk_widget_class_find_style_property() or
-gtk_widget_class_list_style_properties() to get information about existing
-style properties and gtk_widget_style_get_property(), gtk_widget_style_get() or
-gtk_widget_style_get_valist() to obtain the value of a style property.
-</para>
-
-<refsect2 id="GtkWidget-BUILDER-UI">
-<title>GtkWidget as GtkBuildable</title>
-<para>
-The GtkWidget implementation of the GtkBuildable interface supports a 
-custom &lt;accelerator&gt; element, which has attributes named key, 
-modifiers and signal and allows to specify accelerators.
-</para>
-<example>
-<title>A UI definition fragment specifying an accelerator</title>
-<programlisting><![CDATA[
-<object class="GtkButton">
-  <accelerator key="q" modifiers="GDK_CONTROL_MASK" signal="clicked"/>
-</object>
-]]></programlisting>
-</example>
-In addition to accelerators, <structname>GtkWidget</structname> also support a 
-custom &lt;accessible&gt; element, which supports actions and relations. 
-Properties on the accessible implementation of an object can be set by accessing the 
-internal child "accessible" of a <structname>GtkWidget</structname>.
-<example>
-<title>A UI definition fragment specifying an accessible</title>
-<programlisting><![CDATA[
-<object class="GtkButton" id="label1"/>
-  <property name="label">I am a Label for a Button</property>
-</object>
-<object class="GtkButton" id="button1">
-  <accessibility>
-    <action action_name="click" translatable="yes">Click the button.</action>
-    <relation target="label1" type="labelled-by"/>
-  </accessibility>
-  <child internal-child="accessible">
-    <object class="AtkObject" id="a11y-button1">
-      <property name="AtkObject::name">Clickable Button</property>
-    </object>
-  </child>
-</object>
-]]></programlisting>
-</example>
-
-
-</refsect2>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GtkWidget ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SIGNAL GtkWidget::accel-closures-changed ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-
-<!-- ##### SIGNAL GtkWidget::button-press-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::button-release-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::can-activate-accel ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@arg1: 
-@Returns: 
-
-<!-- ##### SIGNAL GtkWidget::child-notify ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@arg1: 
-
-<!-- ##### SIGNAL GtkWidget::client-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::composited-changed ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-
-<!-- ##### SIGNAL GtkWidget::configure-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::damage-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: 
-
-<!-- ##### SIGNAL GtkWidget::delete-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::destroy-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::direction-changed ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@arg1: 
-
-<!-- ##### SIGNAL GtkWidget::drag-begin ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@drag_context: 
-
-<!-- ##### SIGNAL GtkWidget::drag-data-delete ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@drag_context: 
-
-<!-- ##### SIGNAL GtkWidget::drag-data-get ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@drag_context: 
-@data: 
-@info: 
-@time: 
-
-<!-- ##### SIGNAL GtkWidget::drag-data-received ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@drag_context: 
-@x: 
-@y: 
-@data: 
-@info: 
-@time: 
-
-<!-- ##### SIGNAL GtkWidget::drag-drop ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@drag_context: 
-@x: 
-@y: 
-@time: 
-@Returns: 
-
-<!-- ##### SIGNAL GtkWidget::drag-end ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@drag_context: 
-
-<!-- ##### SIGNAL GtkWidget::drag-failed ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@arg1: 
-@arg2: 
-@Returns: 
-
-<!-- ##### SIGNAL GtkWidget::drag-leave ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@drag_context: 
-@time: 
-
-<!-- ##### SIGNAL GtkWidget::drag-motion ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@drag_context: 
-@x: 
-@y: 
-@time: 
-@Returns: 
-
-<!-- ##### SIGNAL GtkWidget::enter-notify-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::event-after ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-
-<!-- ##### SIGNAL GtkWidget::expose-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::focus ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@arg1: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::focus-in-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::focus-out-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::grab-broken-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: 
-
-<!-- ##### SIGNAL GtkWidget::grab-focus ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-
-<!-- ##### SIGNAL GtkWidget::grab-notify ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@arg1: 
-
-<!-- ##### SIGNAL GtkWidget::hide ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-
-<!-- ##### SIGNAL GtkWidget::hierarchy-changed ##### -->
-<para>
-
-</para>
-
-@widget: 
-@widget2: 
-
-<!-- ##### SIGNAL GtkWidget::key-press-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::key-release-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::keynav-failed ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@arg1: 
-@Returns: 
-
-<!-- ##### SIGNAL GtkWidget::leave-notify-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::map ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-
-<!-- ##### SIGNAL GtkWidget::map-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::mnemonic-activate ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@arg1: 
-@Returns: 
-
-<!-- ##### SIGNAL GtkWidget::motion-notify-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::move-focus ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@arg1: 
-
-<!-- ##### SIGNAL GtkWidget::no-expose-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::parent-set ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@old_parent: 
-
-<!-- ##### SIGNAL GtkWidget::popup-menu ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@Returns: 
-
-<!-- ##### SIGNAL GtkWidget::property-notify-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::proximity-in-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::proximity-out-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::query-tooltip ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@arg1: 
-@arg2: 
-@arg3: 
-@arg4: 
-@Returns: 
-
-<!-- ##### SIGNAL GtkWidget::realize ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-
-<!-- ##### SIGNAL GtkWidget::screen-changed ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@arg1: 
-
-<!-- ##### SIGNAL GtkWidget::scroll-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::selection-clear-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::selection-get ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@data: 
-@info: 
-@time: 
-
-<!-- ##### SIGNAL GtkWidget::selection-notify-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::selection-received ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@data: 
-@time: 
-
-<!-- ##### SIGNAL GtkWidget::selection-request-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::show ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-
-<!-- ##### SIGNAL GtkWidget::show-help ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@arg1: 
-@Returns: 
-
-<!-- ##### SIGNAL GtkWidget::size-allocate ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@allocation: 
-
-<!-- ##### SIGNAL GtkWidget::size-request ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@requisition: 
-
-<!-- ##### SIGNAL GtkWidget::state-changed ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@state: 
-
-<!-- ##### SIGNAL GtkWidget::style-set ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@previous_style: 
-
-<!-- ##### SIGNAL GtkWidget::unmap ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-
-<!-- ##### SIGNAL GtkWidget::unmap-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::unrealize ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-
-<!-- ##### SIGNAL GtkWidget::visibility-notify-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### SIGNAL GtkWidget::window-state-event ##### -->
-<para>
-
-</para>
-
-@widget: the object which received the signal.
-@event: 
-@Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
-
-<!-- ##### ARG GtkWidget:app-paintable ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:can-default ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:can-focus ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:composite-child ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:double-buffered ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:events ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:extension-events ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:has-default ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:has-focus ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:has-tooltip ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:height-request ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:is-focus ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:name ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:no-show-all ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:parent ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:receives-default ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:sensitive ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:style ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:tooltip-markup ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:tooltip-text ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:visible ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:width-request ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:window ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:cursor-aspect-ratio ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:cursor-color ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:draw-border ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:focus-line-pattern ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:focus-line-width ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:focus-padding ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:interior-focus ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:link-color ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:scroll-arrow-hlength ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:scroll-arrow-vlength ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:secondary-cursor-color ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:separator-height ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:separator-width ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:visited-link-color ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GtkWidget:wide-separators ##### -->
-<para>
-
-</para>
-
-<!-- ##### STRUCT GtkWidgetClass ##### -->
-<para>
-<structfield>activate_signal</structfield>
-The signal to emit when a widget of this class is activated,
-gtk_widget_activate() handles the emission. Implementation of this
-signal is optional. 
-</para>
-
-<para>
-<structfield>set_scroll_adjustment_signal</structfield>
-This signal is emitted  when a widget of this class is added
-to a scrolling aware parent, gtk_widget_set_scroll_adjustments()
-handles the emission.
-Implementation of this signal is optional.
-</para>
-
-@parent_class: 
-@activate_signal: 
-@set_scroll_adjustments_signal: 
-
-<!-- ##### ENUM GtkWidgetFlags ##### -->
-<para>
-Tells about certain properties of the widget.
-</para>
-
-@GTK_TOPLEVEL: 
-        widgets without a real parent, as there are #GtkWindow<!-- -->s and
-        #GtkMenu<!-- -->s have this flag set throughout their lifetime.
-        Toplevel widgets always contain their own #GdkWindow.
-@GTK_NO_WINDOW: 
-        Indicative for a widget that does not provide its own #GdkWindow. 
-        Visible action (e.g. drawing) is performed on the parent's #GdkWindow.
-@GTK_REALIZED: 
-        Set by gtk_widget_realize(), unset by gtk_widget_unrealize().
-        A realized widget has an associated #GdkWindow.
-@GTK_MAPPED: 
-        Set by gtk_widget_map(), unset by gtk_widget_unmap().
-        Only realized widgets can be mapped. It means that gdk_window_show() 
-        has been called on the widgets window(s).
-@GTK_VISIBLE: 
-        Set by gtk_widget_show(), unset by gtk_widget_hide(). Implies that a 
-        widget will be mapped as soon as its parent is mapped.
-@GTK_SENSITIVE: 
-        Set and unset by gtk_widget_set_sensitive().
-        The sensitivity of a widget determines whether it will receive
-        certain events (e.g. button or key presses). One premise for
-        the widget's sensitivity is to have this flag set.
-@GTK_PARENT_SENSITIVE: 
-        Set and unset by gtk_widget_set_sensitive() operations on the
-        parents of the widget.
-        This is the second premise for the widget's sensitivity. Once
-        it has %GTK_SENSITIVE and %GTK_PARENT_SENSITIVE set, its state is
-        effectively sensitive. This is expressed (and can be examined) by
-        the #GTK_WIDGET_IS_SENSITIVE macro.
-@GTK_CAN_FOCUS: 
-        Determines whether a widget is able to handle focus grabs.
-@GTK_HAS_FOCUS: 
-        Set by gtk_widget_grab_focus() for widgets that also
-        have %GTK_CAN_FOCUS set. The flag will be unset once another widget
-        grabs the focus.
-@GTK_CAN_DEFAULT: 
-        The widget is allowed to receive the default action via 
-        gtk_widget_grab_default().
-@GTK_HAS_DEFAULT: 
-        The widget currently is receiving the default action.
-@GTK_HAS_GRAB: 
-        Set by gtk_grab_add(), unset by gtk_grab_remove(). It means that the 
-        widget is in the grab_widgets stack, and will be the preferred one for 
-        receiving events other than ones of cosmetic value.
-@GTK_RC_STYLE: 
-        Indicates that the widget's style has been looked up through the rc 
-        mechanism. It does not imply that the widget actually had a style 
-        defined through the rc mechanism.
-@GTK_COMPOSITE_CHILD: 
-        Indicates that the widget is a composite child of its parent; see 
-        gtk_widget_push_composite_child(), gtk_widget_pop_composite_child().
-@GTK_NO_REPARENT: 
-       Unused since before GTK+ 1.2, will be removed in a future version.
-@GTK_APP_PAINTABLE: 
-        Set and unset by gtk_widget_set_app_paintable().
-        Must be set on widgets whose window the application directly draws on, 
-       in order to keep GTK+ from overwriting the drawn stuff.  See
-        <xref linkend="app-paintable-widgets"/> for a detailed
-        description of this flag.
-@GTK_RECEIVES_DEFAULT: 
-        The widget when focused will receive the default action and have 
-        %GTK_HAS_DEFAULT set even if there is a different widget set as default.
-@GTK_DOUBLE_BUFFERED: 
-        Set and unset by gtk_widget_set_double_buffered().
-        Indicates that exposes done on the widget should be
-        double-buffered.  See <xref linkend="double-buffering"/> for a
-        detailed discussion of how double-buffering works in GTK+ and
-        why you may want to disable it for special cases.
-@GTK_NO_SHOW_ALL: 
-
-<!-- ##### MACRO GTK_WIDGET_TYPE ##### -->
-<para>
-Gets the type of a widget.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_STATE ##### -->
-<para>
-Returns the current state of the widget, as a #GtkStateType.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_SAVED_STATE ##### -->
-<para>
-Returns the saved state of the widget, as a #GtkStateType.
-</para>
-<para>
-The saved state will be restored when a widget gets sensitive
-again, after it has been made insensitive with gtk_widget_set_state()
-or gtk_widget_set_sensitive().
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_FLAGS ##### -->
-<para>
-Returns the widget flags from @wid.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_TOPLEVEL ##### -->
-<para>
-Evaluates to %TRUE if the widget is a toplevel widget.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_NO_WINDOW ##### -->
-<para>
-Evaluates to %TRUE if the widget doesn't have an own #GdkWindow.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_REALIZED ##### -->
-<para>
-Evaluates to %TRUE if the widget is realized.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_MAPPED ##### -->
-<para>
-Evaluates to %TRUE if the widget is mapped.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_VISIBLE ##### -->
-<para>
-Evaluates to %TRUE if the widget is visible.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_DRAWABLE ##### -->
-<para>
-Evaluates to %TRUE if the widget is mapped and visible.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_SENSITIVE ##### -->
-<para>
-Evaluates to %TRUE if the #GTK_SENSITIVE flag has be set on the widget.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_PARENT_SENSITIVE ##### -->
-<para>
-Evaluates to %TRUE if the #GTK_PARENT_SENSITIVE flag has be set on the widget.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_IS_SENSITIVE ##### -->
-<para>
-Evaluates to %TRUE if the widget is effectively sensitive.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_CAN_FOCUS ##### -->
-<para>
-Evaluates to %TRUE if the widget is able to handle focus grabs.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_HAS_FOCUS ##### -->
-<para>
-Evaluates to %TRUE if the widget has grabbed the focus and no other
-widget has done so more recently.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_CAN_DEFAULT ##### -->
-<para>
-Evaluates to %TRUE if the widget is allowed to receive the default action 
-via gtk_widget_grab_default(). 
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_RECEIVES_DEFAULT ##### -->
-<para>
-Evaluates to %TRUE if the widget when focused will receive the default action 
-even if there is a different widget set as default.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_HAS_DEFAULT ##### -->
-<para>
-Evaluates to %TRUE if the widget currently is receiving the default action.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_HAS_GRAB ##### -->
-<para>
-Evaluates to %TRUE if the widget is in the grab_widgets stack, and will be 
-the preferred one for receiving events other than ones of cosmetic value.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_RC_STYLE ##### -->
-<para>
-Evaluates to %TRUE if the widget's style has been looked up through the rc
-mechanism.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_COMPOSITE_CHILD ##### -->
-<para>
-Evaluates to %TRUE if the widget is a composite child of its parent.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_APP_PAINTABLE ##### -->
-<para>
-Evaluates to %TRUE if the #GTK_APP_PAINTABLE flag has been set on the widget.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_DOUBLE_BUFFERED ##### -->
-<para>
-Evaluates to %TRUE if the #GTK_DOUBLE_BUFFERED flag has been set on the widget.
-</para>
-
-@wid: a #GtkWidget.
-
-
-<!-- ##### MACRO GTK_WIDGET_SET_FLAGS ##### -->
-<para>
-Turns on certain widget flags.
-</para>
-
-@wid: a #GtkWidget.
-@flag: the flags to set.
-
-
-<!-- ##### MACRO GTK_WIDGET_UNSET_FLAGS ##### -->
-<para>
-Turns off certain widget flags.
-</para>
-
-@wid: a #GtkWidget.
-@flag: the flags to unset.
-
-
-<!-- ##### USER_FUNCTION GtkCallback ##### -->
-<para>
-The type of the callback functions used for e.g. iterating over
-the children of a container, see gtk_container_foreach(). 
-</para>
-
-@widget: the widget to operate on
-@data: user-supplied data
-
-
-<!-- ##### STRUCT GtkRequisition ##### -->
-<para>
-A <structname>GtkRequisition</structname> represents the desired size of a widget. See 
-<xref linkend="size-requisition"/> for more information.
-</para>
-
-@width: the widget's desired width
-@height: the widget's desired height
-
-<!-- ##### STRUCT GtkAllocation ##### -->
-<para>
-A <structname>GtkAllocation</structname> of a widget represents region which has been allocated to the 
-widget by its parent. It is a subregion of its parents allocation. See 
-<xref linkend="size-allocation"/> for more information.
-</para>
-
-@x: the X position of the widget's area relative to its parents allocation.
-@y: the Y position of the widget's area relative to its parents allocation.
-@width: the width of the widget's allocated area.
-@height: the height of the widget's allocated area.
-
-<!-- ##### STRUCT GtkSelectionData ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GtkWidgetAuxInfo ##### -->
-<para>
-
-</para>
-
-@x: 
-@y: 
-@width: 
-@height: 
-@x_set: 
-@y_set: 
-
-<!-- ##### STRUCT GtkWidgetShapeInfo ##### -->
-<para>
-
-</para>
-
-@offset_x: 
-@offset_y: 
-@shape_mask: 
-
-<!-- ##### ENUM GtkWidgetHelpType ##### -->
-<para>
-
-</para>
-
-@GTK_WIDGET_HELP_TOOLTIP: 
-@GTK_WIDGET_HELP_WHATS_THIS: 
-
-<!-- ##### FUNCTION gtk_widget_new ##### -->
-<para>
-
-</para>
-
-@type: 
-@first_property_name: 
-@Varargs: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_ref ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_unref ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_destroy ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_destroyed ##### -->
-<para>
-
-</para>
-
-@widget: 
-@widget_pointer: 
-
-
-<!-- ##### FUNCTION gtk_widget_set ##### -->
-<para>
-
-</para>
-
-@widget: 
-@first_property_name: 
-@Varargs: 
-
-
-<!-- ##### FUNCTION gtk_widget_unparent ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_show ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_show_now ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_hide ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_show_all ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_hide_all ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_map ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_unmap ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_realize ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_unrealize ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_queue_draw ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_queue_resize ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_queue_resize_no_redraw ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_draw ##### -->
-<para>
-
-</para>
-
-@widget: 
-@area: 
-
-
-<!-- ##### FUNCTION gtk_widget_size_request ##### -->
-<para>
-
-</para>
-
-@widget: 
-@requisition: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_child_requisition ##### -->
-<para>
-
-</para>
-
-@widget: 
-@requisition: 
-
-
-<!-- ##### FUNCTION gtk_widget_size_allocate ##### -->
-<para>
-
-</para>
-
-@widget: 
-@allocation: 
-
-
-<!-- ##### FUNCTION gtk_widget_add_accelerator ##### -->
-<para>
-
-</para>
-
-@widget: 
-@accel_signal: 
-@accel_group: 
-@accel_key: 
-@accel_mods: 
-@accel_flags: 
-
-
-<!-- ##### FUNCTION gtk_widget_remove_accelerator ##### -->
-<para>
-
-</para>
-
-@widget: 
-@accel_group: 
-@accel_key: 
-@accel_mods: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_accel_path ##### -->
-<para>
-
-</para>
-
-@widget: 
-@accel_path: 
-@accel_group: 
-
-
-<!-- ##### FUNCTION gtk_widget_list_accel_closures ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_can_activate_accel ##### -->
-<para>
-
-</para>
-
-@widget: 
-@signal_id: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_event ##### -->
-<para>
-
-</para>
-
-@widget: 
-@event: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_activate ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_reparent ##### -->
-<para>
-
-</para>
-
-@widget: 
-@new_parent: 
-
-
-<!-- ##### FUNCTION gtk_widget_intersect ##### -->
-<para>
-
-</para>
-
-@widget: 
-@area: 
-@intersection: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_is_focus ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_grab_focus ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_grab_default ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_name ##### -->
-<para>
-
-</para>
-
-@widget: 
-@name: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_name ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_state ##### -->
-<para>
-
-</para>
-
-@widget: 
-@state: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_sensitive ##### -->
-<para>
-
-</para>
-
-@widget: 
-@sensitive: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_parent ##### -->
-<para>
-
-</para>
-
-@widget: 
-@parent: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_parent_window ##### -->
-<para>
-
-</para>
-
-@widget: 
-@parent_window: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_parent_window ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_uposition ##### -->
-<para>
-
-</para>
-
-@widget: 
-@x: 
-@y: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_usize ##### -->
-<para>
-
-</para>
-
-@widget: 
-@width: 
-@height: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_events ##### -->
-<para>
-
-</para>
-
-@widget: 
-@events: 
-
-
-<!-- ##### FUNCTION gtk_widget_add_events ##### -->
-<para>
-
-</para>
-
-@widget: 
-@events: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_extension_events ##### -->
-<para>
-
-</para>
-
-@widget: 
-@mode: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_extension_events ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_toplevel ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_ancestor ##### -->
-<para>
-
-</para>
-
-@widget: 
-@widget_type: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_colormap ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_colormap ##### -->
-<para>
-
-</para>
-
-@widget: 
-@colormap: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_visual ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_events ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_pointer ##### -->
-<para>
-
-</para>
-
-@widget: 
-@x: 
-@y: 
-
-
-<!-- ##### FUNCTION gtk_widget_is_ancestor ##### -->
-<para>
-
-</para>
-
-@widget: 
-@ancestor: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_translate_coordinates ##### -->
-<para>
-
-</para>
-
-@src_widget: 
-@dest_widget: 
-@src_x: 
-@src_y: 
-@dest_x: 
-@dest_y: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_hide_on_delete ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_style ##### -->
-<para>
-
-</para>
-
-@widget: 
-@style: 
-
-
-<!-- ##### MACRO gtk_widget_set_rc_style ##### -->
-<para>
-Equivalent to <literal>gtk_widget_set_style (widget, NULL)</literal>.
-</para>
-
-@widget: a #GtkWidget.
-@Deprecated: Use gtk_widget_set_style() with a %NULL @style argument instead.
-
-
-<!-- ##### FUNCTION gtk_widget_ensure_style ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_style ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### MACRO gtk_widget_restore_default_style ##### -->
-<para>
-Equivalent to <literal>gtk_widget_set_style (widget, NULL)</literal>.
-</para>
-
-@widget: a #GtkWidget.
-@Deprecated: Use gtk_widget_set_style() with a %NULL @style argument instead.
-
-
-<!-- ##### FUNCTION gtk_widget_reset_rc_styles ##### -->
-<para>
-Reset the styles of @widget and all descendents, so when 
-they are looked up again, they get the correct values 
-for the currently loaded RC file settings. 
-</para>
-<para>
-This function is not useful for applications.
-</para>
-
-@widget: a #GtkWidget.
-
-
-<!-- ##### FUNCTION gtk_widget_push_colormap ##### -->
-<para>
-
-</para>
-
-@cmap: 
-
-
-<!-- ##### FUNCTION gtk_widget_pop_colormap ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION gtk_widget_set_default_colormap ##### -->
-<para>
-
-</para>
-
-@colormap: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_default_style ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_default_colormap ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_default_visual ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_direction ##### -->
-<para>
-
-</para>
-
-@widget: 
-@dir: 
-
-
-<!-- ##### ENUM GtkTextDirection ##### -->
-<para>
-
-</para>
-
-@GTK_TEXT_DIR_NONE: 
-@GTK_TEXT_DIR_LTR: 
-@GTK_TEXT_DIR_RTL: 
-
-<!-- ##### FUNCTION gtk_widget_get_direction ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_default_direction ##### -->
-<para>
-
-</para>
-
-@dir: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_default_direction ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_shape_combine_mask ##### -->
-<para>
-
-</para>
-
-@widget: 
-@shape_mask: 
-@offset_x: 
-@offset_y: 
-
-
-<!-- ##### FUNCTION gtk_widget_input_shape_combine_mask ##### -->
-<para>
-
-</para>
-
-@widget: 
-@shape_mask: 
-@offset_x: 
-@offset_y: 
-
-
-<!-- ##### FUNCTION gtk_widget_path ##### -->
-<para>
-
-</para>
-
-@widget: 
-@path_length: 
-@path: 
-@path_reversed: 
-
-
-<!-- ##### FUNCTION gtk_widget_class_path ##### -->
-<para>
-
-</para>
-
-@widget: 
-@path_length: 
-@path: 
-@path_reversed: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_composite_name ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_modify_style ##### -->
-<para>
-
-</para>
-
-@widget: 
-@style: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_modifier_style ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_modify_fg ##### -->
-<para>
-
-</para>
-
-@widget: 
-@state: 
-@color: 
-
-
-<!-- ##### FUNCTION gtk_widget_modify_bg ##### -->
-<para>
-
-</para>
-
-@widget: 
-@state: 
-@color: 
-
-
-<!-- ##### FUNCTION gtk_widget_modify_text ##### -->
-<para>
-
-</para>
-
-@widget: 
-@state: 
-@color: 
-
-
-<!-- ##### FUNCTION gtk_widget_modify_base ##### -->
-<para>
-
-</para>
-
-@widget: 
-@state: 
-@color: 
-
-
-<!-- ##### FUNCTION gtk_widget_modify_font ##### -->
-<para>
-
-</para>
-
-@widget: 
-@font_desc: 
-
-
-<!-- ##### FUNCTION gtk_widget_modify_cursor ##### -->
-<para>
-
-</para>
-
-@widget: 
-@primary: 
-@secondary: 
-
-
-<!-- ##### FUNCTION gtk_widget_create_pango_context ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_pango_context ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_create_pango_layout ##### -->
-<para>
-
-</para>
-
-@widget: 
-@text: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_render_icon ##### -->
-<para>
-
-</para>
-
-@widget: 
-@stock_id: 
-@size: 
-@detail: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_pop_composite_child ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION gtk_widget_push_composite_child ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION gtk_widget_queue_clear ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_queue_clear_area ##### -->
-<para>
-
-</para>
-
-@widget: 
-@x: 
-@y: 
-@width: 
-@height: 
-
-
-<!-- ##### FUNCTION gtk_widget_queue_draw_area ##### -->
-<para>
-
-</para>
-
-@widget: 
-@x: 
-@y: 
-@width: 
-@height: 
-
-
-<!-- ##### FUNCTION gtk_widget_reset_shapes ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_app_paintable ##### -->
-<para>
-
-</para>
-
-@widget: 
-@app_paintable: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_double_buffered ##### -->
-<para>
-
-</para>
-
-@widget: 
-@double_buffered: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_redraw_on_allocate ##### -->
-<para>
-
-</para>
-
-@widget: 
-@redraw_on_allocate: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_composite_name ##### -->
-<para>
-
-</para>
-
-@widget: 
-@name: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_scroll_adjustments ##### -->
-<para>
-
-</para>
-
-@widget: 
-@hadjustment: 
-@vadjustment: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_mnemonic_activate ##### -->
-<para>
-
-</para>
-
-@widget: 
-@group_cycling: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_class_install_style_property ##### -->
-<para>
-
-</para>
-
-@klass: 
-@pspec: 
-
-
-<!-- ##### FUNCTION gtk_widget_class_install_style_property_parser ##### -->
-<para>
-
-</para>
-
-@klass: 
-@pspec: 
-@parser: 
-
-
-<!-- ##### FUNCTION gtk_widget_class_find_style_property ##### -->
-<para>
-
-</para>
-
-@klass: 
-@property_name: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_class_list_style_properties ##### -->
-<para>
-
-</para>
-
-@klass: 
-@n_properties: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_region_intersect ##### -->
-<para>
-
-</para>
-
-@widget: 
-@region: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_send_expose ##### -->
-<para>
-
-</para>
-
-@widget: 
-@event: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_style_get ##### -->
-<para>
-
-</para>
-
-@widget: 
-@first_property_name: 
-@Varargs: 
-
-
-<!-- ##### FUNCTION gtk_widget_style_get_property ##### -->
-<para>
-
-</para>
-
-@widget: 
-@property_name: 
-@value: 
-
-
-<!-- ##### FUNCTION gtk_widget_style_get_valist ##### -->
-<para>
-
-</para>
-
-@widget: 
-@first_property_name: 
-@var_args: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_accessible ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_child_focus ##### -->
-<para>
-
-</para>
-
-@widget: 
-@direction: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_child_notify ##### -->
-<para>
-
-</para>
-
-@widget: 
-@child_property: 
-
-
-<!-- ##### FUNCTION gtk_widget_freeze_child_notify ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_child_visible ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_parent ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_settings ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_clipboard ##### -->
-<para>
-
-</para>
-
-@widget: 
-@selection: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_display ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_root_window ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_screen ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_has_screen ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_size_request ##### -->
-<para>
-
-</para>
-
-@widget: 
-@width: 
-@height: 
-
-
-<!-- ##### MACRO gtk_widget_pop_visual ##### -->
-<para>
-This function is deprecated; it does nothing.
-</para>
-
-
-
-<!-- ##### MACRO gtk_widget_push_visual ##### -->
-<para>
-This function is deprecated; it does nothing.
-</para>
-
-@visual: a visual
-
-
-<!-- ##### FUNCTION gtk_widget_set_child_visible ##### -->
-<para>
-
-</para>
-
-@widget: 
-@is_visible: 
-
-
-<!-- ##### MACRO gtk_widget_set_default_visual ##### -->
-<para>
-This function is deprecated; it does nothing.
-</para>
-
-@visual: a visual
-
-
-<!-- ##### FUNCTION gtk_widget_set_size_request ##### -->
-<para>
-
-</para>
-
-@widget: 
-@width: 
-@height: 
-
-
-<!-- ##### MACRO gtk_widget_set_visual ##### -->
-<para>
-This function is deprecated; it does nothing.
-</para>
-
-@widget: a #GtkWidget
-@visual: a visual
-
-
-<!-- ##### FUNCTION gtk_widget_thaw_child_notify ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_no_show_all ##### -->
-<para>
-
-</para>
-
-@widget: 
-@no_show_all: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_no_show_all ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_list_mnemonic_labels ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_add_mnemonic_label ##### -->
-<para>
-
-</para>
-
-@widget: 
-@label: 
-
-
-<!-- ##### FUNCTION gtk_widget_remove_mnemonic_label ##### -->
-<para>
-
-</para>
-
-@widget: 
-@label: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_action ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_is_composited ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_error_bell ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_keynav_failed ##### -->
-<para>
-
-</para>
-
-@widget: 
-@direction: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_tooltip_markup ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_tooltip_markup ##### -->
-<para>
-
-</para>
-
-@widget: 
-@markup: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_tooltip_text ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_tooltip_text ##### -->
-<para>
-
-</para>
-
-@widget: 
-@text: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_tooltip_window ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_tooltip_window ##### -->
-<para>
-
-</para>
-
-@widget: 
-@custom_window: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_has_tooltip ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_has_tooltip ##### -->
-<para>
-
-</para>
-
-@widget: 
-@has_tooltip: 
-
-
-<!-- ##### FUNCTION gtk_widget_trigger_tooltip_query ##### -->
-<para>
-
-</para>
-
-@widget: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_snapshot ##### -->
-<para>
-
-</para>
-
-@widget: 
-@clip_rect: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_window ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_allocation ##### -->
-<para>
-
-</para>
-
-@widget: 
-@allocation: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_allocation ##### -->
-<para>
-
-</para>
-
-@widget: 
-@allocation: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_app_paintable ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_can_default ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_can_default ##### -->
-<para>
-
-</para>
-
-@widget: 
-@can_default: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_can_focus ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_can_focus ##### -->
-<para>
-
-</para>
-
-@widget: 
-@can_focus: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_double_buffered ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_has_window ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_has_window ##### -->
-<para>
-
-</para>
-
-@widget: 
-@has_window: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_sensitive ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_is_sensitive ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_state ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_visible ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_visible ##### -->
-<para>
-
-</para>
-
-@widget: 
-@visible: 
-
-
-<!-- ##### FUNCTION gtk_widget_has_default ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_has_focus ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_has_grab ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_is_drawable ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_is_toplevel ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_window ##### -->
-<para>
-
-</para>
-
-@widget: 
-@window: 
-
-
-<!-- ##### FUNCTION gtk_widget_set_receives_default ##### -->
-<para>
-
-</para>
-
-@widget: 
-@receives_default: 
-
-
-<!-- ##### FUNCTION gtk_widget_get_receives_default ##### -->
-<para>
-
-</para>
-
-@widget: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_requisition_copy ##### -->
-<para>
-
-</para>
-
-@requisition: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gtk_requisition_free ##### -->
-<para>
-
-</para>
-
-@requisition: 
-
-
index 5677fd73f4f200f68e23b04cd98efb3ad804056e..36bbcb4ee5ab17733151735b544957726b9cf409 100644 (file)
 #include "gtkbuilderprivate.h"
 #include "gtkalias.h"
 
+/**
+ * SECTION:gtkwidget
+ * @Short_description: Base class for all widgets
+ * @Title: GtkWidget
+ *
+ * GtkWidget is the base class all widgets in GTK+ derive from. It manages the
+ * widget lifecycle, states and style.
+ * <refsect2 id="style-properties">
+ * <para>
+ * <structname>GtkWidget</structname> introduces <firstterm>style
+ * properties</firstterm> - these are basically object properties that are stored
+ * not on the object, but in the style object associated to the widget. Style
+ * properties are set in <link linkend="gtk-Resource-Files">resource files</link>.
+ * This mechanism is used for configuring such things as the location of the
+ * scrollbar arrows through the theme, giving theme authors more control over the
+ * look of applications without the need to write a theme engine in C.
+ * </para>
+ * <para>
+ * Use gtk_widget_class_install_style_property() to install style properties for
+ * a widget class, gtk_widget_class_find_style_property() or
+ * gtk_widget_class_list_style_properties() to get information about existing
+ * style properties and gtk_widget_style_get_property(), gtk_widget_style_get() or
+ * gtk_widget_style_get_valist() to obtain the value of a style property.
+ * </para>
+ * </refsect2>
+ * <refsect2 id="GtkWidget-BUILDER-UI">
+ * <title>GtkWidget as GtkBuildable</title>
+ * <para>
+ * The GtkWidget implementation of the GtkBuildable interface supports a
+ * custom &lt;accelerator&gt; element, which has attributes named key,
+ * modifiers and signal and allows to specify accelerators.
+ * </para>
+ * <example>
+ * <title>A UI definition fragment specifying an accelerator</title>
+ * <programlisting><![CDATA[
+ * <object class="GtkButton">
+ *   <accelerator key="q" modifiers="GDK_CONTROL_MASK" signal="clicked"/>
+ * </object>
+ * ]]></programlisting>
+ * </example>
+ * <para>
+ * In addition to accelerators, <structname>GtkWidget</structname> also support a
+ * custom &lt;accessible&gt; element, which supports actions and relations.
+ * Properties on the accessible implementation of an object can be set by accessing the
+ * internal child "accessible" of a <structname>GtkWidget</structname>.
+ * </para>
+ * <example>
+ * <title>A UI definition fragment specifying an accessible</title>
+ * <programlisting><![CDATA[
+ * <object class="GtkButton" id="label1"/>
+ *   <property name="label">I am a Label for a Button</property>
+ * </object>
+ * <object class="GtkButton" id="button1">
+ *   <accessibility>
+ *     <action action_name="click" translatable="yes">Click the button.</action>
+ *     <relation target="label1" type="labelled-by"/>
+ *   </accessibility>
+ *   <child internal-child="accessible">
+ *     <object class="AtkObject" id="a11y-button1">
+ *       <property name="AtkObject::name">Clickable Button</property>
+ *     </object>
+ *   </child>
+ * </object>
+ * ]]></programlisting>
+ * </example>
+ * </refsect2>
+ */
+
 #define WIDGET_CLASS(w)         GTK_WIDGET_GET_CLASS (w)
 #define        INIT_PATH_SIZE  (512)
 
@@ -708,6 +776,10 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                                                          TRUE,
                                                          GTK_PARAM_READWRITE));
 
+  /**
+   * GtkWidget::show:
+   * @widget: the object which received the signal.
+   */
   widget_signals[SHOW] =
     g_signal_new (I_("show"),
                  G_TYPE_FROM_CLASS (gobject_class),
@@ -716,6 +788,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  NULL, NULL,
                  _gtk_marshal_VOID__VOID,
                  G_TYPE_NONE, 0);
+
+  /**
+   * GtkWidget::hide:
+   * @widget: the object which received the signal.
+   */
   widget_signals[HIDE] =
     g_signal_new (I_("hide"),
                  G_TYPE_FROM_CLASS (gobject_class),
@@ -724,6 +801,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  NULL, NULL,
                  _gtk_marshal_VOID__VOID,
                  G_TYPE_NONE, 0);
+
+  /**
+   * GtkWidget::map:
+   * @widget: the object which received the signal.
+   */
   widget_signals[MAP] =
     g_signal_new (I_("map"),
                  G_TYPE_FROM_CLASS (gobject_class),
@@ -732,6 +814,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  NULL, NULL,
                  _gtk_marshal_VOID__VOID,
                  G_TYPE_NONE, 0);
+
+  /**
+   * GtkWidget::unmap:
+   * @widget: the object which received the signal.
+   */
   widget_signals[UNMAP] =
     g_signal_new (I_("unmap"),
                  G_TYPE_FROM_CLASS (gobject_class),
@@ -740,6 +827,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  NULL, NULL,
                  _gtk_marshal_VOID__VOID,
                  G_TYPE_NONE, 0);
+
+  /**
+   * GtkWidget::realize:
+   * @widget: the object which received the signal.
+   */
   widget_signals[REALIZE] =
     g_signal_new (I_("realize"),
                  G_TYPE_FROM_CLASS (gobject_class),
@@ -748,6 +840,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  NULL, NULL,
                  _gtk_marshal_VOID__VOID,
                  G_TYPE_NONE, 0);
+
+  /**
+   * GtkWidget::unrealize:
+   * @widget: the object which received the signal.
+   */
   widget_signals[UNREALIZE] =
     g_signal_new (I_("unrealize"),
                  G_TYPE_FROM_CLASS (gobject_class),
@@ -756,6 +853,12 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  NULL, NULL,
                  _gtk_marshal_VOID__VOID,
                  G_TYPE_NONE, 0);
+
+  /**
+   * GtkWidget::size-request:
+   * @widget: the object which received the signal.
+   * @requisition:
+   */
   widget_signals[SIZE_REQUEST] =
     g_signal_new (I_("size-request"),
                  G_TYPE_FROM_CLASS (gobject_class),
@@ -765,6 +868,12 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  _gtk_marshal_VOID__BOXED,
                  G_TYPE_NONE, 1,
                  GTK_TYPE_REQUISITION | G_SIGNAL_TYPE_STATIC_SCOPE);
+
+  /**
+   * GtkWidget::size-allocate:
+   * @widget: the object which received the signal.
+   * @allocation:
+   */
   widget_signals[SIZE_ALLOCATE] = 
     g_signal_new (I_("size-allocate"),
                  G_TYPE_FROM_CLASS (gobject_class),
@@ -775,6 +884,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  G_TYPE_NONE, 1,
                  GDK_TYPE_RECTANGLE | G_SIGNAL_TYPE_STATIC_SCOPE);
 
+  /**
+   * GtkWidget::state-changed:
+   * @widget: the object which received the signal.
+   * @state:
+   */
   widget_signals[STATE_CHANGED] =
     g_signal_new (I_("state-changed"),
                  G_TYPE_FROM_CLASS (gobject_class),
@@ -906,6 +1020,12 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                   g_cclosure_marshal_VOID__PARAM,
                   G_TYPE_NONE, 1,
                   G_TYPE_PARAM);
+
+  /**
+   * GtkWidget::mnemonic-activate:
+   * @widget: the object which received the signal.
+   * @arg1:
+   */
   widget_signals[MNEMONIC_ACTIVATE] =
     g_signal_new (I_("mnemonic-activate"),
                  G_TYPE_FROM_CLASS (gobject_class),
@@ -915,6 +1035,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  _gtk_marshal_BOOLEAN__BOOLEAN,
                  G_TYPE_BOOLEAN, 1,
                  G_TYPE_BOOLEAN);
+
+  /**
+   * GtkWidget::grab-focus:
+   * @widget: the object which received the signal.
+   */
   widget_signals[GRAB_FOCUS] =
     g_signal_new (I_("grab-focus"),
                  G_TYPE_FROM_CLASS (gobject_class),
@@ -923,6 +1048,14 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  NULL, NULL,
                  _gtk_marshal_VOID__VOID,
                  G_TYPE_NONE, 0);
+
+  /**
+   * GtkWidget::focus:
+   * @widget: the object which received the signal.
+   * @direction:
+   *
+   * Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
+   */
   widget_signals[FOCUS] =
     g_signal_new (I_("focus"),
                  G_TYPE_FROM_CLASS (object_class),
@@ -932,6 +1065,12 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  _gtk_marshal_BOOLEAN__ENUM,
                  G_TYPE_BOOLEAN, 1,
                  GTK_TYPE_DIRECTION_TYPE);
+
+  /**
+   * GtkWidget::move-focus:
+   * @widget: the object which received the signal.
+   * @direction:
+   */
   widget_signals[MOVE_FOCUS] =
     g_signal_new_class_handler (I_("move-focus"),
                                 G_TYPE_FROM_CLASS (object_class),
@@ -1503,6 +1642,13 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  G_TYPE_BOOLEAN, 1,
                  GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
 
+  /**
+   * GtkWidget::selection-notify-event:
+   * @widget: the object which received the signal.
+   * @event:
+   *
+   * Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further.
+   */
   widget_signals[SELECTION_NOTIFY_EVENT] =
     g_signal_new (I_("selection-notify-event"),
                  G_TYPE_FROM_CLASS (gobject_class),
@@ -1513,6 +1659,12 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  G_TYPE_BOOLEAN, 1,
                  GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
 
+  /**
+   * GtkWidget::selection-received:
+   * @widget: the object which received the signal.
+   * @data:
+   * @time:
+   */
   widget_signals[SELECTION_RECEIVED] =
     g_signal_new (I_("selection-received"),
                  G_TYPE_FROM_CLASS (gobject_class),
@@ -1524,6 +1676,13 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  GTK_TYPE_SELECTION_DATA | G_SIGNAL_TYPE_STATIC_SCOPE,
                  G_TYPE_UINT);
 
+  /**
+   * GtkWidget::selection-get:
+   * @widget: the object which received the signal.
+   * @data:
+   * @info:
+   * @time:
+   */
   widget_signals[SELECTION_GET] =
     g_signal_new (I_("selection-get"),
                  G_TYPE_FROM_CLASS (gobject_class),
@@ -1831,7 +1990,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  G_TYPE_INT,
                  G_TYPE_UINT);
 
-  /** 
+  /**
    * GtkWidget::drag-data-get:
    * @widget: the object which received the signal
    * @drag_context: the drag context
@@ -2143,6 +2302,12 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  _gtk_boolean_handled_accumulator, NULL,
                  _gtk_marshal_BOOLEAN__VOID,
                  G_TYPE_BOOLEAN, 0);
+
+  /**
+   * GtkWidget::show-help:
+   * @widget: the object which received the signal.
+   * @help_type:
+   */
   widget_signals[SHOW_HELP] =
     g_signal_new (I_("show-help"),
                  G_TYPE_FROM_CLASS (gobject_class),
@@ -2152,6 +2317,11 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  _gtk_marshal_BOOLEAN__ENUM,
                  G_TYPE_BOOLEAN, 1,
                  GTK_TYPE_WIDGET_HELP_TYPE);
+
+  /**
+   * GtkWidget::accel-closures-changed:
+   * @widget: the object which received the signal.
+   */
   widget_signals[ACCEL_CLOSURES_CHANGED] =
     g_signal_new (I_("accel-closures-changed"),
                  G_TYPE_FROM_CLASS (gobject_class),
@@ -2179,6 +2349,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  _gtk_marshal_VOID__OBJECT,
                  G_TYPE_NONE, 1,
                  GDK_TYPE_SCREEN);
+
   /**
    * GtkWidget::can-activate-accel:
    * @widget: the object which received the signal
@@ -6799,6 +6970,17 @@ reset_rc_styles_recurse (GtkWidget *widget, gpointer data)
                          NULL);
 }
 
+
+/**
+ * gtk_widget_reset_rc_styles:
+ * @widget: a #GtkWidget.
+ *
+ * Reset the styles of @widget and all descendents, so when
+ * they are looked up again, they get the correct values
+ * for the currently loaded RC file settings.
+ *
+ * This function is not useful for applications.
+ */
 void
 gtk_widget_reset_rc_styles (GtkWidget *widget)
 {
index ed286636d5669564cdaf53565e7980a6f6e41d46..21c58d10c9fa48993d4120043d82f59183905d4e 100644 (file)
 
 G_BEGIN_DECLS
 
-/* The flags that are used by GtkWidget on top of the
- * flags field of GtkObject.
+/**
+ * GtkWidgetFlags:
+ * @GTK_TOPLEVEL: widgets without a real parent, as there are #GtkWindow<!-- -->s and
+ *  #GtkMenu<!-- -->s have this flag set throughout their lifetime.
+ *  Toplevel widgets always contain their own #GdkWindow.
+ * @GTK_NO_WINDOW: Indicative for a widget that does not provide its own #GdkWindow.
+ *  Visible action (e.g. drawing) is performed on the parent's #GdkWindow.
+ * @GTK_REALIZED: Set by gtk_widget_realize(), unset by gtk_widget_unrealize().
+ *  A realized widget has an associated #GdkWindow.
+ * @GTK_MAPPED: Set by gtk_widget_map(), unset by gtk_widget_unmap().
+ *  Only realized widgets can be mapped. It means that gdk_window_show()
+ *  has been called on the widgets window(s).
+ * @GTK_VISIBLE: Set by gtk_widget_show(), unset by gtk_widget_hide(). Implies that a
+ *  widget will be mapped as soon as its parent is mapped.
+ * @GTK_SENSITIVE: Set and unset by gtk_widget_set_sensitive().
+ *  The sensitivity of a widget determines whether it will receive
+ *  certain events (e.g. button or key presses). One premise for
+ *  the widget's sensitivity is to have this flag set.
+ * @GTK_PARENT_SENSITIVE: Set and unset by gtk_widget_set_sensitive() operations on the
+ *  parents of the widget.
+ *  This is the second premise for the widget's sensitivity. Once
+ *  it has %GTK_SENSITIVE and %GTK_PARENT_SENSITIVE set, its state is
+ *  effectively sensitive. This is expressed (and can be examined) by
+ *  the #GTK_WIDGET_IS_SENSITIVE macro.
+ * @GTK_CAN_FOCUS: Determines whether a widget is able to handle focus grabs.
+ * @GTK_HAS_FOCUS: Set by gtk_widget_grab_focus() for widgets that also
+ *  have %GTK_CAN_FOCUS set. The flag will be unset once another widget
+ *  grabs the focus.
+ * @GTK_CAN_DEFAULT: The widget is allowed to receive the default action via
+ *  gtk_widget_grab_default() and will reserve space to draw the default if possible
+ * @GTK_HAS_DEFAULT: The widget currently is receiving the default action and
+ *  should be drawn appropriately if possible
+ * @GTK_HAS_GRAB: Set by gtk_grab_add(), unset by gtk_grab_remove(). It means that the
+ *  widget is in the grab_widgets stack, and will be the preferred one for
+ *  receiving events other than ones of cosmetic value.
+ * @GTK_RC_STYLE: Indicates that the widget's style has been looked up through the rc
+ *  mechanism. It does not imply that the widget actually had a style
+ *  defined through the rc mechanism.
+ * @GTK_COMPOSITE_CHILD: Indicates that the widget is a composite child of its parent; see
+ *  gtk_widget_push_composite_child(), gtk_widget_pop_composite_child().
+ * @GTK_NO_REPARENT: Unused since before GTK+ 1.2, will be removed in a future version.
+ * @GTK_APP_PAINTABLE: Set and unset by gtk_widget_set_app_paintable().
+ *  Must be set on widgets whose window the application directly draws on,
+ *  in order to keep GTK+ from overwriting the drawn stuff.  See
+ *  <xref linkend="app-paintable-widgets"/> for a detailed
+ *  description of this flag.
+ * @GTK_RECEIVES_DEFAULT: The widget when focused will receive the default action and have
+ *  %GTK_HAS_DEFAULT set even if there is a different widget set as default.
+ * @GTK_DOUBLE_BUFFERED: Set and unset by gtk_widget_set_double_buffered().
+ *  Indicates that exposes done on the widget should be
+ *  double-buffered.  See <xref linkend="double-buffering"/> for a
+ *  detailed discussion of how double-buffering works in GTK+ and
+ *  why you may want to disable it for special cases.
+ * @GTK_NO_SHOW_ALL:
+ *
+ * Tells about certain properties of the widget.
  */
 typedef enum
 {
@@ -55,28 +109,14 @@ typedef enum
   GTK_PARENT_SENSITIVE = 1 << 10,
   GTK_CAN_FOCUS        = 1 << 11,
   GTK_HAS_FOCUS        = 1 << 12,
-
-  /* widget is allowed to receive the default via gtk_widget_grab_default
-   * and will reserve space to draw the default if possible
-   */
   GTK_CAN_DEFAULT      = 1 << 13,
-
-  /* the widget currently is receiving the default action and should be drawn
-   * appropriately if possible
-   */
   GTK_HAS_DEFAULT      = 1 << 14,
-
   GTK_HAS_GRAB        = 1 << 15,
   GTK_RC_STYLE        = 1 << 16,
   GTK_COMPOSITE_CHILD  = 1 << 17,
   GTK_NO_REPARENT      = 1 << 18,
   GTK_APP_PAINTABLE    = 1 << 19,
-
-  /* the widget when focused will receive the default action and have
-   * HAS_DEFAULT set even if there is a different widget set as default
-   */
   GTK_RECEIVES_DEFAULT = 1 << 20,
-
   GTK_DOUBLE_BUFFERED  = 1 << 21,
   GTK_NO_SHOW_ALL      = 1 << 22
 } GtkWidgetFlags;
@@ -100,37 +140,221 @@ typedef enum
 
 /* Macros for extracting various fields from GtkWidget and GtkWidgetClass.
  */
+/**
+ * GTK_WIDGET_TYPE:
+ * @wid: a #GtkWidget.
+ *
+ * Gets the type of a widget.
+ */
 #define GTK_WIDGET_TYPE(wid)             (GTK_OBJECT_TYPE (wid))
+
+/**
+ * GTK_WIDGET_STATE:
+ * @wid: a #GtkWidget.
+ *
+ * Returns the current state of the widget, as a #GtkStateType.
+ */
 #define GTK_WIDGET_STATE(wid)            (GTK_WIDGET (wid)->state)
+
+/**
+ * GTK_WIDGET_SAVED_STATE:
+ * @wid: a #GtkWidget.
+ *
+ * Returns the saved state of the widget, as a #GtkStateType.
+ *
+ * The saved state will be restored when a widget gets sensitive
+ * again, after it has been made insensitive with gtk_widget_set_state()
+ * or gtk_widget_set_sensitive().
+ */
 #define GTK_WIDGET_SAVED_STATE(wid)      (GTK_WIDGET (wid)->saved_state)
 
+
 /* Macros for extracting the widget flags from GtkWidget.
  */
+/**
+ * GTK_WIDGET_FLAGS:
+ * @wid: a #GtkWidget.
+ *
+ * Returns the widget flags from @wid.
+ */
 #define GTK_WIDGET_FLAGS(wid)            (GTK_OBJECT_FLAGS (wid))
+
+/**
+ * GTK_WIDGET_TOPLEVEL:
+ * @wid: a #GtkWidget.
+ *
+ * Evaluates to %TRUE if the widget is a toplevel widget.
+ */
 #define GTK_WIDGET_TOPLEVEL(wid)         ((GTK_WIDGET_FLAGS (wid) & GTK_TOPLEVEL) != 0)
+
+/**
+ * GTK_WIDGET_NO_WINDOW:
+ * @wid: a #GtkWidget.
+ *
+ * Evaluates to %TRUE if the widget doesn't have an own #GdkWindow.
+ */
 #define GTK_WIDGET_NO_WINDOW(wid)        ((GTK_WIDGET_FLAGS (wid) & GTK_NO_WINDOW) != 0)
+
+/**
+ * GTK_WIDGET_REALIZED:
+ * @wid: a #GtkWidget.
+ *
+ * Evaluates to %TRUE if the widget is realized.
+ */
 #define GTK_WIDGET_REALIZED(wid)         ((GTK_WIDGET_FLAGS (wid) & GTK_REALIZED) != 0)
+
+/**
+ * GTK_WIDGET_MAPPED:
+ * @wid: a #GtkWidget.
+ *
+ * Evaluates to %TRUE if the widget is mapped.
+ */
 #define GTK_WIDGET_MAPPED(wid)           ((GTK_WIDGET_FLAGS (wid) & GTK_MAPPED) != 0)
+
+/**
+ * GTK_WIDGET_VISIBLE:
+ * @wid: a #GtkWidget.
+ *
+ * Evaluates to %TRUE if the widget is visible.
+ */
 #define GTK_WIDGET_VISIBLE(wid)                  ((GTK_WIDGET_FLAGS (wid) & GTK_VISIBLE) != 0)
+
+/**
+ * GTK_WIDGET_DRAWABLE:
+ * @wid: a #GtkWidget.
+ *
+ * Evaluates to %TRUE if the widget is mapped and visible.
+ */
 #define GTK_WIDGET_DRAWABLE(wid)         (GTK_WIDGET_VISIBLE (wid) && GTK_WIDGET_MAPPED (wid))
+
+/**
+ * GTK_WIDGET_SENSITIVE:
+ * @wid: a #GtkWidget.
+ *
+ * Evaluates to %TRUE if the #GTK_SENSITIVE flag has be set on the widget.
+ */
 #define GTK_WIDGET_SENSITIVE(wid)        ((GTK_WIDGET_FLAGS (wid) & GTK_SENSITIVE) != 0)
+
+/**
+ * GTK_WIDGET_PARENT_SENSITIVE:
+ * @wid: a #GtkWidget.
+ *
+ * Evaluates to %TRUE if the #GTK_PARENT_SENSITIVE flag has be set on the widget.
+ */
 #define GTK_WIDGET_PARENT_SENSITIVE(wid)  ((GTK_WIDGET_FLAGS (wid) & GTK_PARENT_SENSITIVE) != 0)
+
+/**
+ * GTK_WIDGET_IS_SENSITIVE:
+ * @wid: a #GtkWidget.
+ *
+ * Evaluates to %TRUE if the widget is effectively sensitive.
+ */
 #define GTK_WIDGET_IS_SENSITIVE(wid)     (GTK_WIDGET_SENSITIVE (wid) && \
                                           GTK_WIDGET_PARENT_SENSITIVE (wid))
+/**
+ * GTK_WIDGET_CAN_FOCUS:
+ * @wid: a #GtkWidget.
+ *
+ * Evaluates to %TRUE if the widget is able to handle focus grabs.
+ */
 #define GTK_WIDGET_CAN_FOCUS(wid)        ((GTK_WIDGET_FLAGS (wid) & GTK_CAN_FOCUS) != 0)
+
+/**
+ * GTK_WIDGET_HAS_FOCUS:
+ * @wid: a #GtkWidget.
+ *
+ * Evaluates to %TRUE if the widget has grabbed the focus and no other
+ * widget has done so more recently.
+ */
 #define GTK_WIDGET_HAS_FOCUS(wid)        ((GTK_WIDGET_FLAGS (wid) & GTK_HAS_FOCUS) != 0)
+
+/**
+ * GTK_WIDGET_CAN_DEFAULT:
+ * @wid: a #GtkWidget.
+ *
+ * Evaluates to %TRUE if the widget is allowed to receive the default action
+ * via gtk_widget_grab_default().
+ */
 #define GTK_WIDGET_CAN_DEFAULT(wid)      ((GTK_WIDGET_FLAGS (wid) & GTK_CAN_DEFAULT) != 0)
+
+/**
+ * GTK_WIDGET_HAS_DEFAULT:
+ * @wid: a #GtkWidget.
+ *
+ * Evaluates to %TRUE if the widget currently is receiving the default action.
+ */
 #define GTK_WIDGET_HAS_DEFAULT(wid)      ((GTK_WIDGET_FLAGS (wid) & GTK_HAS_DEFAULT) != 0)
+
+/**
+ * GTK_WIDGET_HAS_GRAB:
+ * @wid: a #GtkWidget.
+ *
+ * Evaluates to %TRUE if the widget is in the grab_widgets stack, and will be
+ * the preferred one for receiving events other than ones of cosmetic value.
+ */
 #define GTK_WIDGET_HAS_GRAB(wid)         ((GTK_WIDGET_FLAGS (wid) & GTK_HAS_GRAB) != 0)
+
+/**
+ * GTK_WIDGET_RC_STYLE:
+ * @wid: a #GtkWidget.
+ *
+ * Evaluates to %TRUE if the widget's style has been looked up through the rc
+ * mechanism.
+ */
 #define GTK_WIDGET_RC_STYLE(wid)         ((GTK_WIDGET_FLAGS (wid) & GTK_RC_STYLE) != 0)
+
+/**
+ * GTK_WIDGET_COMPOSITE_CHILD:
+ * @wid: a #GtkWidget.
+ *
+ * Evaluates to %TRUE if the widget is a composite child of its parent.
+ */
 #define GTK_WIDGET_COMPOSITE_CHILD(wid)          ((GTK_WIDGET_FLAGS (wid) & GTK_COMPOSITE_CHILD) != 0)
+
+/**
+ * GTK_WIDGET_APP_PAINTABLE:
+ * @wid: a #GtkWidget.
+ *
+ * Evaluates to %TRUE if the #GTK_APP_PAINTABLE flag has been set on the widget.
+ */
 #define GTK_WIDGET_APP_PAINTABLE(wid)    ((GTK_WIDGET_FLAGS (wid) & GTK_APP_PAINTABLE) != 0)
+
+/**
+ * GTK_WIDGET_RECEIVES_DEFAULT:
+ * @wid: a #GtkWidget.
+ *
+ * Evaluates to %TRUE if the widget when focused will receive the default action
+ * even if there is a different widget set as default.
+ */
 #define GTK_WIDGET_RECEIVES_DEFAULT(wid)  ((GTK_WIDGET_FLAGS (wid) & GTK_RECEIVES_DEFAULT) != 0)
+
+/**
+ * GTK_WIDGET_DOUBLE_BUFFERED:
+ * @wid: a #GtkWidget.
+ *
+ * Evaluates to %TRUE if the #GTK_DOUBLE_BUFFERED flag has been set on the widget.
+ */
 #define GTK_WIDGET_DOUBLE_BUFFERED(wid)          ((GTK_WIDGET_FLAGS (wid) & GTK_DOUBLE_BUFFERED) != 0)
-  
+
+
 /* Macros for setting and clearing widget flags.
  */
+/**
+ * GTK_WIDGET_SET_FLAGS:
+ * @wid: a #GtkWidget.
+ * @flag: the flags to set.
+ *
+ * Turns on certain widget flags.
+ */
 #define GTK_WIDGET_SET_FLAGS(wid,flag)   G_STMT_START{ (GTK_WIDGET_FLAGS (wid) |= (flag)); }G_STMT_END
+
+/**
+ * GTK_WIDGET_UNSET_FLAGS:
+ * @wid: a #GtkWidget.
+ * @flag: the flags to unset.
+ *
+ * Turns off certain widget flags.
+ */
 #define GTK_WIDGET_UNSET_FLAGS(wid,flag)  G_STMT_START{ (GTK_WIDGET_FLAGS (wid) &= ~(flag)); }G_STMT_END
 
 #define GTK_TYPE_REQUISITION              (gtk_requisition_get_type ())
@@ -138,7 +362,6 @@ typedef enum
 /* forward declaration to avoid excessive includes (and concurrent includes)
  */
 typedef struct _GtkRequisition    GtkRequisition;
-typedef        GdkRectangle       GtkAllocation;
 typedef struct _GtkSelectionData   GtkSelectionData;
 typedef struct _GtkWidgetClass    GtkWidgetClass;
 typedef struct _GtkWidgetAuxInfo   GtkWidgetAuxInfo;
@@ -146,11 +369,38 @@ typedef struct _GtkWidgetShapeInfo GtkWidgetShapeInfo;
 typedef struct _GtkClipboard      GtkClipboard;
 typedef struct _GtkTooltip         GtkTooltip;
 typedef struct _GtkWindow          GtkWindow;
-typedef void     (*GtkCallback)        (GtkWidget        *widget,
-                                       gpointer          data);
 
-/* A requisition is a desired amount of space which a
- *  widget may request.
+/**
+ * GtkAllocation:
+ * @x: the X position of the widget's area relative to its parents allocation.
+ * @y: the Y position of the widget's area relative to its parents allocation.
+ * @width: the width of the widget's allocated area.
+ * @height: the height of the widget's allocated area.
+ *
+ * A <structname>GtkAllocation</structname> of a widget represents region which has been allocated to the
+ * widget by its parent. It is a subregion of its parents allocation. See
+ * <xref linkend="size-allocation"/> for more information.
+ */
+typedef        GdkRectangle       GtkAllocation;
+
+/**
+ * GtkCallback:
+ * @widget: the widget to operate on
+ * @data: user-supplied data
+ *
+ * The type of the callback functions used for e.g. iterating over
+ * the children of a container, see gtk_container_foreach().
+ */
+typedef void    (*GtkCallback)     (GtkWidget        *widget,
+                                   gpointer          data);
+
+/**
+ * GtkRequisition:
+ * @width: the widget's desired width
+ * @height: the widget's desired height
+ *
+ * A <structname>GtkRequisition</structname> represents the desired size of a widget. See
+ * <xref linkend="size-requisition"/> for more information.
  */
 struct _GtkRequisition
 {
@@ -229,6 +479,24 @@ struct _GtkWidget
   GtkWidget *GSEAL (parent);
 };
 
+/**
+ * GtkWidgetClass:
+ * @parent_class:
+ * @activate_signal:
+ * @set_scroll_adjustments_signal:
+ *
+ * <structfield>activate_signal</structfield>
+ * The signal to emit when a widget of this class is activated,
+ * gtk_widget_activate() handles the emission. Implementation of this
+ * signal is optional.
+ *
+ *
+ * <structfield>set_scroll_adjustment_signal</structfield>
+ * This signal is emitted  when a widget of this class is added
+ * to a scrolling aware parent, gtk_widget_set_scroll_adjustments()
+ * handles the emission.
+ * Implementation of this signal is optional.
+ */
 struct _GtkWidgetClass
 {
   /* The object class structure needs to be the first
@@ -669,10 +937,39 @@ GdkPixmap *   gtk_widget_get_snapshot    (GtkWidget    *widget,
                                           GdkRectangle *clip_rect);
 
 #ifndef GTK_DISABLE_DEPRECATED
+
+/**
+ * gtk_widget_set_visual:
+ * @widget: a #GtkWidget
+ * @visual: a visual
+ *
+ * This function is deprecated; it does nothing.
+ */
 #define gtk_widget_set_visual(widget,visual)  ((void) 0)
+
+/**
+ * gtk_widget_push_visual:
+ * @visual: a visual
+ *
+ * This function is deprecated; it does nothing.
+ */
 #define gtk_widget_push_visual(visual)        ((void) 0)
+
+/**
+ * gtk_widget_pop_visual:
+ *
+ * This function is deprecated; it does nothing.
+ */
 #define gtk_widget_pop_visual()               ((void) 0)
+
+/**
+ * gtk_widget_set_default_visual:
+ * @visual: a visual
+ *
+ * This function is deprecated; it does nothing.
+ */
 #define gtk_widget_set_default_visual(visual) ((void) 0)
+
 #endif /* GTK_DISABLE_DEPRECATED */
 
 /* Accessibility support */
@@ -735,7 +1032,25 @@ void        gtk_widget_modify_font        (GtkWidget            *widget,
                                           PangoFontDescription *font_desc);
 
 #ifndef GTK_DISABLE_DEPRECATED
+
+/**
+ * gtk_widget_set_rc_style:
+ * @widget: a #GtkWidget.
+ *
+ * Equivalent to <literal>gtk_widget_set_style (widget, NULL)</literal>.
+ *
+ * Deprecated: Use gtk_widget_set_style() with a %NULL @style argument instead.
+ */
 #define gtk_widget_set_rc_style(widget)          (gtk_widget_set_style (widget, NULL))
+
+/**
+ * gtk_widget_restore_default_style:
+ * @widget: a #GtkWidget.
+ *
+ * Equivalent to <literal>gtk_widget_set_style (widget, NULL)</literal>.
+ *
+ * Deprecated: Use gtk_widget_set_style() with a %NULL @style argument instead.
+ */
 #define gtk_widget_restore_default_style(widget) (gtk_widget_set_style (widget, NULL))
 #endif